/*
 * AclassProl_config.h
 *
 *  Created on: 2021.10.28
 *      Author: taoye
 */
#ifndef ACLASSPROL_CONFIG_H_
#define ACLASSPROL_CONFIG_H_

/* Public defines -----------------------------------------------------------*/
#include "stm32f4xx.h"
#include "drv_f4_delay_168MHz.h"
/***********************************************************************************/
#define 	A_PROTOCOL_USE_RTOS			        1

#define 	A_PROTOCOL_NAME_MAX			        10

#define		A_PROTOCOL_MSG_QUEUE_SIZE	        5


#define   	A_PROTOCOL_RECIVE_MAX    	        1200

#define   	A_PROTOCOL_SEND_MAX      	        30000

#define		A_PROTOCOL_ACKDATA_MAX		        256 //64

#define     A_PROTOCOL_USE_SYSTEM_RESET         1

#define     A_PROTOCOL_DELAYMS_FUN              SoftDelayMs

#define     A_PROTOCOL_IRQ_STA			        __get_CONTROL()	

#define     A_PROTOCOL_SYSTEM_RESET_FUN         NVIC_SystemReset

#define     A_PROTOCOL_RESET_DELAYTIME		    500

#define		A_PROTOCOL_USE_DEBUG_LOG            0
#define     ULOG_EASYFLASH_BACKEND_ENABLE       0

/***********************************************************************************/
#define     A_PROTOCOL_HEAP_SIZE                5*1024
/***********************************************************************************/

#define     A_PROTOCOL_USE_IAP                  0   //是否使用A类协议升级（0：不使用, 1：使用）

#define A_PROTOCOL_USE_AMEMORY                  0                       //使用存储管理（0：不使用, 1：使用）
#if A_PROTOCOL_USE_AMEMORY == 1
#include "A_memory.h"
#define A_PROTOCOL_FLASH_START_ADDR                  (0x00000000)                                           //Flash 升级起始地址
#define A_PROTOCOL_FLASH_AREA_SIZE                   Amem_Get_AreaSize(AMEM_String, "IAP")                   //Flash 升级大小
#define A_PROTOCOL_FLASH_READ_FUN(data,addr,len)     Amem_Area_Read(AMEM_String, "IAP", data, addr, len)     //IAP flash读函数
#define A_PROTOCOL_FLASH_WRITE_FUN(data,addr,len)    Amem_Area_Write(AMEM_String, "IAP", data, addr, len)    //IAP flash写函数
#define A_PROTOCOL_FLASH_ERASE_FUN(addr,len)         Amem_Area_Erase(AMEM_String, "IAP", addr, len)          //IAP flash擦函数

#else
#define A_PROTOCOL_FLASH_START_ADDR             (0x00000000)                                           //Flash 升级起始地址
#define A_PROTOCOL_FLASH_AREA_SIZE              100000 
#define IAP_FLASH_READ_FUN                      W25QXX_Read
#define IAP_FLASH_WRITE_FUN                     W25QXX_Write_NoCheck
#define IAP_FLASH_ERASE_FUN                     W25QXX_erase
#endif

/***********************************************************************************/


#endif /* SRC_COMM_ACLASS_ANALAYZE_ACLASS_CONFIG_H_ */

/******************* (C) COPYRIGHT 2021 CIQTEK taoye *****END OF FILE****/
